package com.zalyyh.game

import android.content.Context
import com.bytedance.applog.AppLog
import com.bytedance.applog.InitConfig
import com.bytedance.applog.util.UriConfig

class GameApplication private constructor() {
    companion object {
        private var instance: GameApplication? = null
            get() {
                if (field == null) {
                    field = GameApplication()
                }
                return field
            }

        @Synchronized
        fun get(): GameApplication {
            return instance!!
        }
    }

    fun initDotSdk(context: Context) {
// 初始化开始
        /*星星爱消消test
英文名：xingxingaixiaoxiao_test
类型：APP
appId：169201*/

        var config = InitConfig("169201", "default");
        // appid和渠道，appid如不清楚请联系客户成功经理
// 域名默认国内: DEFAULT, 新加坡:SINGAPORE, 美东:AMERICA
//        注意：国内外不同vendor服务注册的did不⼀样。由DEFAULT切换到SINGAPORE或者AMERICA，
//       会发⽣变化，切回来也会发⽣变化。因此vendor的切换⼀定要慎重，随意切换导致⽤户新增和统计的问
//       题，需要⾃⾏评估。

        config.setUriConfig(UriConfig.DEFAULT);
        AppLog.setEnableLog(false);
        // 是否在控制台输出⽇志，可⽤于观察⽤户⾏为⽇志上报
        //情况，建议仅在调试时使⽤，release版本请设置为false ！


        // 游戏模式，YES会开始 playSession 上报，每隔⼀分钟上报⼼跳⽇志
        config.setEnablePlay(true);

        AppLog.init(context, config);

// 初始化结束

//
// ⾃定义 “⽤户公共属性”（可选，初始化后调⽤, key相同会覆盖）
//        关于⾃定义 “⽤户公共属性” 请注意：1. 上报机制是随着每⼀次⽇志发送进⾏提交，默认的⽇
//       志发送频率是1分钟，所以如果在⼀分钟内连续修改⾃定义⽤户公共属性，按照⽇志发送前的最后⼀次修改
//       为准， 2. 不推荐⾼频次修改，如每秒修改⼀次

        var headerMap = HashMap<String, Any>();
        headerMap.put("level", 8)
        headerMap.put("gender", "female")
        AppLog.setHeaderInfo((headerMap))
    }

}
